package com.firebird.app.fejpsl.mvp.contract

import com.firebird.app.fejpsl.mvp.model.bean.*
import io.reactivex.Observable

/**
 * Created by firebird on 2018/4/21.
 */
interface FollowContract {

    interface View : CommonContract.View {

        fun setMyFollowList(follows: List<Follow>)
        fun setFollowMeList(follows: List<Follow>)
        fun setBlockPeopleList(follows: List<Follow>)

    }

    interface Presenter : CommonContract.Presenter<View> {

        fun requestMyFollowList()
        fun requestFollowMeList()
        fun requestBlockPeopleList()

    }

    interface Model : CommonContract.Model {

        fun requestMyFollowList(): Observable<HttpResult<List<Follow>>>
        fun requestFollowMeList(): Observable<HttpResult<List<Follow>>>
        fun requestBlockPeopleList(): Observable<HttpResult<List<Follow>>>

    }

}